Я думаю, что, возможно, есть лучший способ, но будет работать следующее:
import pandas as pd
df = pd.DataFrame({'a': range(0, 10), 'b': range(10, 20), 'c': range(20, 30)})
mylist = list()
for i in df.columns:
mylist += map(str, df[i].values.tolist())
print(mylist)
Вывод:
['0', '1', '2' , «3», «4», «5», «6», «7», «8», «9», «10», «11», «12», «13», «14», « 15 ',' 16 ',' 17 ',' 18 ',' 19 ',' 20 ',' 21 ',' 22 ',' 23 ',' 24 ',' 25 ',' 26 ',' 27 ' , '28', '29']
blockquote>
Я бы сказал, что вам нужно будет делать это при создании каждого объекта XML. Даже если бы SimpleXMLElement имел способ установить его, вам все равно нужно было бы установить его, поскольку я предполагаю, что объект мог бы выбрать допустимое значение по умолчанию.
Можно создать константу и создать такие объекты
$XML = new SimpleXMLElement($XMLNamespace . "<foo />");
echo($XML->asXML());
If you don't specify an encoding, SimpleXML cannot (sanely) guess which one you intended.
Вы можете попробовать это, но вы должны использовать simplexml_load_string для $ xml
$xml // Your main SimpleXMLElement
$xml->addAttribute('encoding', 'UTF-8');
Или вы все равно можете использовать другие средства для добавления кодировки к вашему выводу.
Простая замена
$outputXML=str_replace('<?xml version="1.0"?>', '<?xml version="1.0" encoding="UTF-8"?>', $outputXML);
Регулярные выражения
$outputXML=preg_replace('/<\?\s*xml([^\s]*)\?>/' '<?xml $1 encoding="UTF-8"?>', $outputXML);
DOMDocument - Я знаю, что вы сказали, что не хотите использовать DOMDocument, но вот пример
$xml=dom_import_simplexml($simpleXML);
$xml->xmlEndoding='UTF-8';
$outputXML=$xml->saveXML();
. Вы можете обернуть этот код в функцию, которая получает параметр $ encoding и добавляет его в