Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中将多行字符串转换为csv_Python - Fatal编程技术网

在Python中将多行字符串转换为csv

在Python中将多行字符串转换为csv,python,Python,获取此字符串的最佳方式是: 1 2 3 4 a b c d 1 2 3 4 a b c d 1 2 3 4 a b c d 并转换为包含6列的CSV 所需输出 是将导入熊猫的CSV: 1,a,1,a,1,a 2,b,2,b,2,b 等等 根据注释将所需输出更新为6行 更新。如果我将字符串赋给l变量,则可以得到如下第一行: l.split()[0::4] ['1', 'a', '1', 'a', '1', 'a'] 尽管艺术的答案被接受,但这里有另一种利用熊猫的方式。如果使用类似的方法,则

获取此字符串的最佳方式是:

1
2
3
4
a
b
c
d
1
2
3
4
a
b
c
d
1
2
3
4
a
b
c
d
并转换为包含6列的CSV

所需输出

是将导入熊猫的CSV:

1,a,1,a,1,a
2,b,2,b,2,b
等等

根据注释将所需输出更新为6行

更新。如果我将字符串赋给
l
变量,则可以得到如下第一行:

l.split()[0::4]

['1', 'a', '1', 'a', '1', 'a']

尽管艺术的答案被接受,但这里有另一种利用熊猫的方式。如果使用类似的方法,则不需要在使用pandas导入之前导出数据

import pandas as pd


myFile="lines_to_read2.txt"
myData = pd.DataFrame (columns=['col1', 'col2', 'col3','col4'])
mycolumns = 4
thisItem = list()

with open(myFile, 'r') as linesToRead:
    for thisLine in linesToRead:
        thisItem.append(thisLine.strip('\n, " "'))
        if len(thisItem) == mycolumns:
            myData = myData.append({'col1':thisItem[0],'col2':thisItem[1],'col3':thisItem[2],'col4':thisItem[3]}, ignore_index=True)
            thisItem = list()

myData.to_csv('lines_as_csv_file.csv', index=False)
print(myData)   # Full Table

你能告诉我们到目前为止你已经尝试了什么吗?我在这里看到了4列,而不是6列。你是如何决定把每个项目放在哪里的?请看我的更新,它显示了我如何得到第一行并解释了模式。你可以做得更短:
d=data[I::4]
import pandas as pd


myFile="lines_to_read2.txt"
myData = pd.DataFrame (columns=['col1', 'col2', 'col3','col4'])
mycolumns = 4
thisItem = list()

with open(myFile, 'r') as linesToRead:
    for thisLine in linesToRead:
        thisItem.append(thisLine.strip('\n, " "'))
        if len(thisItem) == mycolumns:
            myData = myData.append({'col1':thisItem[0],'col2':thisItem[1],'col3':thisItem[2],'col4':thisItem[3]}, ignore_index=True)
            thisItem = list()

myData.to_csv('lines_as_csv_file.csv', index=False)
print(myData)   # Full Table