[英]How to split one column data into multiple columns using sql query/Python?
[英]How to Split data in one column of excel into multiple column using python
任何人都可以在我的程序中帮助我吗? 我已经使用XLSXwriter
库将一些数据从TXT
文件复制到XLSX
,并将这些数据复制到 1 列中。 现在我想使用空格作为分隔符将该数据拆分为多列。 下面是我的程序。 现在请建议我前进的任何道路。
with open('filter_pre.txt', 'wt+') as logs_pre:
logs_pre.write(filter_pre)
with open('filter_pre.txt', 'rt+') as Pre_logs:
lines = Pre_logs.readlines()
for line in lines:
Pre_filter_logs.write(row, col, line.strip())
row += 1
if not line:
break
filter_logs.close()
为我无法评论写一个答案;
我认为您应该在写入 XLSX 之前拆分数据。 这要容易得多。 Office 套件因难以在代码中交互而臭名昭著。
with open("inputs.txt") as f:
rowcount = 0
for row in f.readlines():
row = row.strip() # Clean up each row
# Reset the column counter for each row.
# Remove the line below and see what happens ;)
columcount = 0
for column in row.split(" "): # Break up a row on each space.
excelsheet.write(rowcount, columcount, column)
columcount +=1
rowcount += 1
您可以在代码中的某处将额外的 function (addRow) 添加到工作表 object 中。
def addRowToXls(self, data, row = 0):
for colNum, value in enumerate(data):
self.write(row, colNum, value)
因此,您可以轻松地将行(无论其中有多少列)添加到工作表中,例如:
worksheet.addRow(data = ["Column 1 text", "Column 2 text", "And so on..."], row = 3) # add to row 4
所以在你的情况下,我猜整个代码都是这样的
import xlsxwriter
def addRowToXls(self, data, row = 0):
for colNum, value in enumerate(data):
self.write(row, colNum, value)
xlsxwriter.worksheet.Worksheet.addRow = addRowToXls
workbook = xlsxwriter.Workbook("new_file.xlsx") # new xlsx file
worksheet = workbook.add_worksheet()
worksheet.addRow(data = ["column 1 header text", "column 2 header text", "and so on..."]) # you can skip this
row_save = 1 # start from 0, if you skip column headers
with open('filter_pre.txt', 'rt+') as Pre_logs: # text file to read from
lines = Pre_logs.readlines()
for line in lines:
worksheet.addRow(data = line.split(" "), row = row_save) # used space as seperator
row_save += 1
workbook.close()
经测试。 按预期工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.