[英]How to insert two columns in a CSV File using python?
I want to insert two columns in a new csv file. 我想在新的csv文件中插入两列。 Question1 data should be in first column and Question2 data should be in second column Question1数据应在第一列中,而Question2数据应在第二列中
below given code gives me this output: 下面给出的代码给了我这个输出:
['question1']
['a','b','c','d']
['e','f','g']
['h','i','j','k','l']
['question2']
['a','b','c','d','x','y']
['e','f','g','m','n','o','p','q']
['h','i','j','k','l','r','s',]
Here is my code: 这是我的代码:
col1=question1.split("\n")
col2=question2.split("\n")
with open("outputFile.csv" , mode="wt", encoding='UTF-8') as out_file:
w=csv.writer(out_file)
for row in col1:
myColumns = row.split("\n")
print(myColumns)
w.writerow(myColumns)
for row in col2:
myColumns = row.split("\n")
print(myColumns)
w.writerow(myColumns)
the output should be like this: question1 should be in first column of csv and question 2 should be in second column of csv file 输出应该是这样的:question1应该在csv的第一列中,而question 2应该在csv文件的第二列中
['question1'] ['question2']
['a','b','c','d'] ['a','b','c','d','x','y']
['e','f','g'] ['e','f','g','m','n','o','p','q']
['h','i','j','k','l'] ['h','i','j','k','l','r','s',]
Please help me how can I solve the problem.. 请帮助我如何解决问题。
You can use pandas
for this. 您可以为此使用pandas
。
import pandas as pd
question1 = [['1', '1'], ['1', '2', '3'], ['3', '4']] #question 1 data
question2 = [['is', 'was'], ['i', 'am', 'me'],['yes', 'no']] #question 2 data
df = pd.DataFrame(columns=["question1", "question2"])
df["question1"] = question1
df["question2"] = question2
df.to_csv("output.csv", index=False)
output.csv output.csv
question1,question2
"['1', '1']","['is', 'was']"
"['1', '2', '3']","['i', 'am', 'me']"
"['3', '4']","['yes', 'no']"
So as I understand it the output you want is something like this: [question1 data], [question2 data] [question1 data], [question2 data] ... 因此,据我了解,您想要的输出是这样的:[question1数据],[question2数据] [question1数据],[question2数据] ...
In that case the following will get you there: 在这种情况下,以下内容将带您前往:
first_column = [['a', 'b'], ['c', 'd', 'e'], ['f', 'g']] #Populate this with your data from question 1
second_column = [['1', '2'], ['3', '4', '5']] #Populate this with data from question 2
#Find the shortest and the longest of the lists
(shortest_list, lognest_list) = (first_column, second_column) if len(first_column) < len(second_column) else (second_column,first_column)
#If the two colmns are guarenteed to be of the same length, then this loop is enough
for i in range(0,len(shortest_list)):
print(str(first_column[i]) + ", " + str(second_column[i]))
#Handle that the who lists may not be of equal lengths
if len(shortest_list) != len(lognest_list):
for i in range(len(shortest_list), len(lognest_list)):
print(str(lognest_list[i]) + ", ")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.